草庐IT

python - setup.py 没有安装数据文件

全部标签

ruby - 如何检查是否安装了 gem?

我为Sinatra项目安装了data_mapper。很好奇,为什么当我执行geminstallbrew时,我可以$whichbrew并获取其位置的路径,而不能用于data_mapper?这适用于某些gem,但不适用于其他gem。如何验证gem是否正确安装?检查版本是否可以确保正确下载gem? 最佳答案 通用解决方案获取已安装的gem的完整列表:gemlist要测试特定的gem,您可以使用带有正则表达式的-i:gemlist-i"^gem_name$"(此技术的评论归功于Timo。)针对OP的具体解决方案如果找不到data_mappe

ruby - Ruby on Rails 中是否有简写 if(没有 else)语句?

我知道在Ruby中有一个简写的单行if/else语句:a?b:c是否只有一个if语句?而不是这样写:ifa#dosomethingend有这个的简写版本吗? 最佳答案 您可以使用后置条件(不要介意名称,它会在代码之前被评估。而do_something只会被如果条件评估为真值(即不是nil或false)则执行。do_somethingifa 关于ruby-RubyonRails中是否有简写if(没有else)语句?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 如何检查 ActiveRecord 使用的数据库名称

在database.yml中定义所有设置。如何从ruby​​访问这些设置?我查看了App::Application::config,但在那里找不到它。另外,我记得人们可以在没有yaml的情况下配置数据库设置,有人知道怎么做吗? 最佳答案 Rails.configuration.database_configuration这将为您提供一个哈希表,其中包含每个环境的配置。例如。获取您的开发数据库名称:Rails.configuration.database_configuration["development"]["database"]

ruby - 将每个数组元素添加到 ruby​​ 文件的行中

如果我有一个字符串数组,例如a=['a','b','c','d']我想将元素输出到文件(例如.txt),每行一个。到目前为止,我有:File.new("test.txt","w+")File.open("test.txt","w+")do|i|i.write(a)end这为我提供了test.txt文件中一行的数组。我如何遍历数组,将每个值添加到文件的新行? 最佳答案 要么使用Array#each遍历你的数组并调用IO#puts将每个元素写入文件(puts添加记录分隔符,通常是换行符):File.open("test.txt","w+

ruby - 检测安装的 CPU 数量

我已经通过cat/proc/cpuinfo找到了“大多数unix”的解决方案,但是纯Ruby解决方案会更好。 最佳答案 从Ruby版本2.2.3开始,etcRuby标准库中的模块提供了一个nprocessors返回处理器数量的方法。需要注意的是,如果ruby​​被降级为CPU内核的一个子集,Etc.nprocessors将只返回Ruby可以访问的内核数。此外,作为seanlinsley指出,这只会返回虚拟内核而不是物理内核,这可能会导致预期值出现差异。require'etc'pEtc.nprocessors#=>4

ruby - 安装 Ruby gems 不适用于 Home Brew

我通过sudogeminstall...安装的gems无法执行(我得到一个commandnotfound)。它们似乎安装在/usr/local/Cellar/中,这是Brew的安装目录(此外,/Library/Ruby/中的gems也不起作用)。我还需要做些什么来使gems可执行吗?我在MacOSX10.6上使用ZSH,在Brew中使用Rubyv1.8。编辑:它现在似乎正在工作。我刚出去几个小时,回来再试一次。 最佳答案 Homebrew软件很好。然而不像brew和npm,gem不在/usr/local/bin中创建别名自动。解决方

ruby - 如何通过 Rack 提供静态文件?

我目前正在开发一个基于Rack的应用程序,并希望将所有文件请求(例如filename.filetype)重定向到指定的文件夹。Rack::Static仅支持对特殊文件夹(例如“/media”)的文件请求。我是否必须编写自己的Rack中间件或是否存在开箱即用的解决方案? 最佳答案 要将每个请求重定向到特定路径,请使用Rack::File(出于某种原因,最近的文档中没有此类,但它是stillpartof最新的Rack):runRack::File.new("/my/path")要重定向每个请求,并在目标目录中添加所有文件的HTML索引,

ruby - 从单独的文件中包含一个 Ruby 类

有一段时间我一直在Ruby模块中包含整个类。显然这不是我应该做的。看来模块的意义在于存储函数,然后可以将这些函数作为方法包含在新类中。我不想要这个。我有一个类,我想将其保存在一个单独的文件中,我可以从其他文件访问它。我该怎么做?谢谢。 最佳答案 模块具有双重用途,既是函数的容器,又是命名空间。将类保存在模块中是完全可以接受的。要将一个类放在一个单独的文件中,只需照常定义该类,然后在您希望使用该类的文件中,只需将require'name_of_file_with_class'放在顶部即可。例如,如果我在foo.rb中定义了类Foo,那

ruby-on-rails - 使用 RVM 时如何安装 Ruby gems?

我设置了RVM并用它来安装Ruby和其他一些库。当我学习Rails等其他技术的各种教程和设置时,我开始对我应该通过RVM做什么以及我应该按照教程建议做什么感到困惑。一个示例是此处的RubyGems教程:http://rubygems.org/pages/download我应该下载他们正在谈论的那个tar文件吗?似乎没有必要,因为这就是我认为RVM的用途。我什至需要RubyGems吗?那到底是为了什么?此外,我实际上如何获得Rails?是否有精确的RVM命令来实际下载和安装Rails? 最佳答案 这有助于我将RVM视为您与ruby​​

ruby - 当没有 block 传入时,有没有更好的方法来防止 'yield'?

我有一个yield方法,它看起来像:defa_method(*params)#dosomethingyield#dosomethingelseend如果传入block,我希望此方法产生block;如果没有block传入,该方法应该悄悄地跳过yieldsentense而不会崩溃:noblockgiven(yield)(LocalJumpError)当然,最直接的方法就是把方法改成:defa_method(*params,&block)#dosomethingyieldifblock#dosomethingelseend但是没有更漂亮的方法吗? 最佳答案